package cn.caskm.souvenirshopsystem.domain.po;

import cn.caskm.souvenirshopsystem.utils.DateUtils;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.time.LocalDateTime;

@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("announcement")
public class Announcement implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 公告ID
     */
    @TableId(value = "announcement_id", type = IdType.AUTO)
    private Integer announcementId;

    /**
     * 公告标题
     */
    private String title;

    /**
     * 公告内容
     */
    private String content;

    /**
     * 公告类型 0:系统公告 1:活动公告 2:重要通知
     */
    private String announcementType;

    /**
     * 发布者ID（管理员）
     */
    private Long publisherId;

    /**
     * 状态 0:草稿 1:已发布 2:已下线
     */
    private String status;

    /**
     * 是否置顶 0:否 1:是
     */
    private String isTop;

    /**
     * 浏览次数
     */
    private Integer viewCount;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = DateUtils.DATE_TIME_FORMAT)
    private LocalDateTime createTime;

    /**
     * 更新时间
     */
    @JsonFormat(pattern = DateUtils.DATE_TIME_FORMAT)
    private LocalDateTime updateTime;

    /**
     * 发布时间
     */
    @JsonFormat(pattern = DateUtils.DATE_TIME_FORMAT)
    private LocalDateTime publishTime;

}
